import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
// import ViteTerser from 'terser';
//先导入mock所需的东西
import { viteMockServe } from 'vite-plugin-mock'
import { resolve } from 'path'
import { buildUrl, baseUrl } from './src/config'

// console.log('env----->123', process.env)
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    // ViteTerser(),
    //配置mock
    viteMockServe({
      supportTs: false,
      logger: false,
      mockPath: './src/mock/', //主要是配置mock的地址文件
    }),
  ],
  // server: {
  //   port: 8080,
  // },
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src'),
    },
  },
  build: {
    target: 'es2015',
    outDir: 'dist', // 输出文件的目录
    assetsInlineLimit: 4096, // 在生成的包中压缩文件的大小限制（以字节为单位）
    cssCodeSplit: true, // 是否将CSS拆分为更小的块并独立加载
    // minify: 'terser', // 代码压缩方式
    sourcemap: false, // 是否生成sourcemap文件
    assetsDir: 'static',
    rollupOptions: {
      input: {
        index: resolve(__dirname, 'index.html'),
      },
      output: {
        chunkFileNames: 'static/js/[name]-[hash].js',
        entryFileNames: 'static/js/[name]-[hash].js',
        assetFileNames: 'static/[ext]/[name]-[hash].[ext]',
      },
    },
  },
  base: process.env.NODE_ENV === 'development' ? '/' : buildUrl,
  hmr: {
    host: 'localhost',
    //vue3 vite配置热更新不用手动刷新
    hmr: true,
  },
  server: {
    open: true,
    host: 'localhost',
    port: 8080,
    https: false,
    proxy: {
      '/api': {
        // target: 'http://fenglingyun.top/',
        // target: 'http://39.103.152.237:8077',
        // target: 'http://119zjf.jt.beijing.gov.cn:8082/',
        target: baseUrl,

        // target: `http://192.168.1.81:5008`,
        changeOrigin: true,
        rewrite: (path) => path.replace(new RegExp('^api'), ''),
      },
    },
  },
})
